{

// 泛型的约束
interface Ok {
    length: number
}

function func<T extends Ok>(x: T): void {
    console.log(x.length)
}

// 因为T将来是可能传入任意数据类型的，所以不能直接确定就会有length
// func<string>('hello');
// func<number[]>([2, 3, 4, 8, 1, 3]);
// 约束这里，只能传带length的数据
// func<number>(100);  // x


}